package com.scfire.fund

import java.util.Date;

import org.grails.databinding.BindingFormat

import com.scfire.project.Project

/**
 * Copyright 2015 Shudao Info Tech Co. Ltd.  All rights reserved.
 * @author lhzeng
 * @email zenglh@haoshudao.com
 * @date 2016年3月19日 下午7:38:36
 * @version V1.3
 * 
 * 操作记录
 */
class FOperate implements Comparable {
	
	//基金池
	FundPool fundpool
	
	//绑定的项目
	Project project
		
	//操作类型   项目增加配捐额：add 项目减少配捐额：minus 项目结束配捐：over 爱心池增加资金：plusmoney 爱心池减少资金：minusmoney 项目内容审核：contentApprove 支付金额 payoff
	String operate	
	//支出
	int outcome	
	//收入
	int income
	//配捐比例
	String rule
	
	//审核结果  通过：pass 驳回：refuse
	String result
	//审核理由
	String excuse
	
	//款项支付时间
	@BindingFormat('yyyy-MM-dd HH:mm:ss')
	Date payoffDate
	//支付金额
	int money
	//OA订单号
	String oa
	
	//操作备注说明
	String mark
	
	//项目激活天数
	int duration
	//操作时间
	@BindingFormat('yyyy-MM-dd HH:mm:ss')
	Date optDate
	

    static constraints = {
		fundpool nullable:true
		project nullable:true
		operate nullable:true
		excuse nullable:true
		outcome nullable:true
		income nullable:true
		rule nullable:true
		mark nullable:true
		oa nullable:true
		money nullable:true
		result nullable:true
		duration nullable:true
		optDate nullable:true
		payoffDate nullable:true
    }


	@Override
	public int compareTo(Object o) {
		try{
			optDate.compareTo(o?.optDate)
		}catch(Exception e){
			return 1
		}
	}
}
